/**
 * 1、消息总长度 4字节 消息内容字节总个数不超过1060个字节
 * 2、消息内容（m个TLV格式的数据，m >=1），
 * 2.1 帧类型 2字节，范围0000H~00FFH
 * 2.2 帧长度 2字节，数据域长度，范围 0~1050
 * 2.3 数据域 N，数据长度N字节（N最大1050）
 * 3、消息校验 4字节，消息总长度与消息内容所有字节的CRC32校验
 *
 * 设备上报的消息解析
 * @return Return 解析后的消息
 * @param value, MQTT Payload - 0000002501110021661bedf3034083333343010000420410b8425c413cffcc0094b7b4000000000000efb9e926
 */
function handlePayload(value) {
  let payload = value;
  if (typeof value === 'string') {
    payload = JSON.parse(value)
  }
  let messageTotalLength = payload.toString().substring(0, 8);
  var reg = /^\[1-9]$/;
  let messageTotalLengthStr = messageTotalLength.toString();
  payload.aa = messageTotalLengthStr.indexOf(messageTotalLengthStr[1-9])
  payload.a = messageTotalLength.toString();
  payload.b = Number(`0x${messageTotalLength}`);
  payload.c = parseInt(messageTotalLength, 16);
  return JSON.stringify(payload, null, 2)
}

execute(handlePayload)

